#ifndef BaseUnit_h__
#define BaseUnit_h__
#include "CommonDefine.h"

class BaseUnit
{
public:
	virtual int LoadFromString(const char *string_data);
	int GetId(void) const { return this->id; }
	int GetType(void) const { return this->type; }
	int GetTrust(void) const { return this->trust; }
	int GetCategory(void) const { return this->category_unit_id; }
	virtual const String &GetDebugString(void) const = 0;
	virtual String GetDebugDetail(void) const;

	friend class UnitManager;

protected:
	int id;
	int type;
	int trust;
	int category_unit_id;
};

#endif // BaseUnit_h__
